日誌是甚麼?
📌 記錄誰進來、什麼時間、做了什麼
如果你沒有日誌,發生壞事後就像沒監視器、沒目擊者,什麼都查不到
監控就是不斷看日誌,當出現「怪怪的行為」時系統會響警報
事件應變就是有人收到警報後,照步驟處理(遇到火警要疏散、滅火、檢查原因)
攻擊方
-
避免留下日誌:刪除或修改日誌、調整時間戳、用合法流程掩護活動
- 利用噪音掩護:同時發動大量低級活動讓告警被淹沒
- 使用已授權帳號或合法工具執行動作,減低被發現機會
- 若取得遠端存取,先探查日誌位址、權限,再嘗試關閉或篡改收集 agent
防禦方
-
把日誌集中化:把端點、網路、應用、身分、雲端日誌都送到 SIEM / Logs platform(不可只留在個機器)
-
保護日誌完整性:使用 WORM、append-only、遠端寫入與存留策略(防止被刪除或竄改)
-
設計偵測規則:異常登入、權限提昇、資料大量匯出、日誌刪除
-
建立 IR Playbook:包含偵測 → 分級 → 隔離 → 取證 → 修復 → 回溯 → 通報
-
定期演練:驗證流程是否可行、角色是否清楚
日誌來源
-
身份與認證日誌(Auth)
- IdP、SSO、LDAP、AD、OAuth logs
- 因為多數 ATO/DTO 起點在憑證或 MFA,先看登入異常
-
端點日誌(Endpoint)
- EDR、Antivirus、Windows Event Logs、syslog
- 偵測惡意程式、異常進程啟動、可疑命令執行
-
應用程式日誌(App)
- Web server logs (nginx/apache)、API gateway、應用日誌
- 偵測 SQLi、XSS 嘗試、異常 API 使用
-
網路流量/代理日誌
- 防火牆、IDS/IPS、proxy、load balancer
- 偵測外部 C2、DDoS、異常大量資料外傳
常見偵測
-
大量失敗登入後的成功登入
同一帳號在 5 分鐘內 ≥ 10 次失敗後出現成功登入
-
短時間內來自不同國家/城市的登入成功(Impossible Travel)
同一帳號在短時(2 小時)內於兩地登入(距離不合理)
-
非互動式帳號執行交互式命令或外連
系統服務帳號啟動 shell 或建立外部 TCP 連線
-
大量資料匯出/下載
某帳號或服務在短時間下載超過閾值(MB / 檔案數)
-
日誌刪除或停用 agent
偵測到 auditd
/ agent 停止、logrotate 非預期、或日誌目錄被刪除
-
異常 process spawn(PowerShell / cmd / bash)
非預期使用者在工作時間外執行 PowerShell 並下載外部 URL
應變
-
偵測:SIEM 告警/使用者通報
-
分級:確認告警真假、評估影響範圍(哪個系統/帳號)
-
隔離:隔離受影響主機、停用帳號、暫停服務路徑
-
取證:保存記憶體映像、log、現場證據(時間戳一致)
-
消除與修復:移除惡意程式、重設憑證、修補漏洞
-
回顧與改進:更新 playbook、改進偵測
結論
📌 沒有良好的日誌蒐集與分析,部署了再多的防禦也難以阻止正在發生的攻擊
建立集中化、受保護且完整的日誌系統
針對高風險場景的偵測規則(大量失敗登入→成功登入、日誌刪除、異常資料匯出)
及早發現異常、快速應變並保留完整證據供鑑識使用
事件應變:偵測 → 隔離 → 取證 → 修復 → 回顧